#ifndef BOMBA_PLANTA_H_
#define BOMBA_PLANTA_H_
#include "server_Bomba.h"
#include "server_Coordenada.h"
#include "server_IMovible.h"
#include "server_IOcupante.h"
#include "server_Enemigo.h"
#include "server_Aliado.h"
#include <string>

using std::string;

class BombaPlanta : public Bomba, public IMovible {
private:
    int velocidad;
    string direccion;
    Coordenada posicionAnterior;
public:
    /* Constructor. */
    BombaPlanta();
    BombaPlanta(int vel, Coordenada pos, string dir, int alcance);
    /* Destructor. */
    ~BombaPlanta();
    /* Dispara la bomba en la direccion que tiene la planta partiendo de
     * casillero. Afecta a los casilleros adyacentes tambien. */
    void soltarEn(Coordenada coord);
    /* implementacion de 'mover' de IMovible. */
    void mover(Coordenada nueva_coord);
    void mover();
    void colisionarCon(IOcupante* ocupante);
    void actuar(Mapa& mapa);
    void retroceder();
    Coordenada getPosicion();

};

#endif
